@信仰
1年前 提问
1个回答

解决虚拟化安全的办法有哪些

X0_0X
1年前

虚拟化安全方面的办法有以下这些:

  • 主动漏洞研究:KVM(基于内核的虚拟机)内置了多层安全和隔离措施,并一直在努力加强这些措施。云安全人员包括在KVM安全领域最重要的一些专家,且多年来发现了KVM、Xen和VMware虚拟机管理程序中的多个漏洞。团队通过代码审计和Fuzz测试发现并修复了KVM中的9个漏洞,在这一时期,开源社区没有发现KVM中影响云平台(GCP)的其他漏洞。

  • 减少攻击面:通过删除未使用的组件(例如,传统鼠标驱动程序和中断控制器)并限制模拟指令集来帮助提高KVM的安全性,这有效避免了潜在攻击者的攻击面,同时通过修改其余组件增强了安全性。

  • 非QEMU实现:没有使用QEMU的用户空间虚拟机监控器和硬件仿真,而是编写了自己的用户空间虚拟机监控器。简单的主机和客户的架构支持型矩阵。因为只支持单一架构和相对较少的设备,所以其支持的仿真器更加简单。目前不支持跨架构的主机/客户组合,这有助于避免额外的复杂性和潜在的攻击。的虚拟机监视器由多个强调简单性和可测试性的组件组成,这种组件架构便于做单元测试,而单元测试可以减少复杂系统中的错误。相比之下,QEMU支持大量的主机和客户机CPU指令架构矩阵,不同的模式和设备使复杂性显著增加。QEMU代码缺乏单元测试,并且存在许多依赖,这使得进行单元测试非常困难。的用户空间虚拟机监控器在历史上没有出现过安全问题。相比之下,QEMU有很多安全漏洞记录,比如VENOM,并且我们还不清楚其代码中还存在哪些潜在漏洞。

  • 引导和任务通信:实施代码来源处理(这类的工具有Titan安全芯片)有助于确保计算机启动到已知的良好状态。每个KVM主机都会生成一个点对点的加密密钥共享系统来共享该主机上运行的任务,有助于确保主机上运行的任务之间的所有通信都是经过明确的身份验证和授权的。

  • 代码溯源:开发并运行一个自定义二进制和配置验证系统,将该系统集成到开发流程中,来跟踪KVM中运行的源代码是如何构建、配置及部署的——这就是代码溯源的过程。代码溯源要求在每层启动中验证代码完整性:从引导加载程序到KVM,再到客户的虚拟机。